#ifndef __ATTRIBUT_H__
#define __ATTRIBUT_H__

#include <string>
#include <list>
#include "Printer.h"
#include "ContentParticules.h"

//STRUCTURE MEMOIRE DTD
//
//Attrubut

using namespace std;

class Attribut : public Printer
{
	public:
		/*Constructeurs*/
		Attribut();
		Attribut( const string& pname, const string& ptype = "CDATA", const string& poption = 
"#IMPLIED" );

		/*Destructeur*/
		virtual ~Attribut();

		/*Get & Set*/
		const string& getName()   const;
		const string& getType()   const;
		const string& getOption() const;
		CARDINALITY getCardinality();
		string getCardinalityString();
		void setCardinality( CARDINALITY newCardinality);

		/*Fonction d'affichage de la structure en mémoire*/
		void printMe();

	private:
		string name;
		string type;
		string option;
		CARDINALITY cardinality;
};

#endif // #define __ATTRIBUT_H__

